/*
 * Copyright (c)  2015~2020, xforceplus
 * All rights reserved.
 * Project:datacare-orm
 * Id: OrmCondition.java   2020-10-10 22-06-28
 * Author: Evan
 */
package cn.datacare.orm.mapping.orm;

import cn.datacare.orm.util.StringUtils;

import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import static cn.datacare.orm.util.StringUtils.EMPTY;

/**
 * <p>
 * Title:
 * </p>
 * <p>
 * Description:
 * </p>
 * <p>
 * Copyright: 2015~2020
 * </p>
 * <p>
 * Company/Department: xforceplus
 * </p>
 *
 * @author Evan
 * <b>Creation Time:</b> 2020-10-10 22-06-28
 * @since V1.0
 */
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface OrmCondition {

    Class target();

    String attr();

    String targetAttr();

    String sqlId() default EMPTY;

    String alias() default EMPTY;

    OrmQuery.Type type() default OrmQuery.Type.MANY;

    boolean lazy() default false;

}
